package com.brightfuture.chrms.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 人员;人员表
 *
 * @author Victor
 * @date 2024-02-03 17:00:42
 */
@Data
@TableName("person_position")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "person_position")
public class PersonPositionEntity extends Model<PersonPositionEntity> {

    /**
     * 人员岗位ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description = "人员岗位ID")
    private Long perPositionId;
    /**
     * 人员ID
     */
    @Schema(description = "人员ID")
    private Long perId;
    /**
     * 岗位ID
     */
    @Schema(description = "岗位ID")
    private Long positionId;
    /**
     * 批准日期
     */
    @Schema(description = "批准日期")
    private LocalDate noticeDate;
    /**
     * 录聘日期
     */
    @Schema(description = "录聘日期")
    private LocalDate entryDate;
    /**
     * 转正日期
     */
    @Schema(description = "转正日期")
    private LocalDate becomeDate;
    /**
     * 任职方式
     */
    @Schema(description = "任职方式")
    private String entryMode;
    /**
     * 免职方式
     */
    @Schema(description = "免职方式")
    private String dismissMode;
    /**
     * 职务
     */
    @Schema(description = "职务")
    private String job;
    /**
     * 任职描述
     */
    @Schema(description = "任职描述")
    private String dscr;
    /**
     * 租户号
     */
    @Schema(description = "租户号")
    private Long tenantId;
    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    @Schema(description = "创建人")
    private Long createBy;
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    @Schema(description = "创建时间")
    private LocalDateTime createTime;
    /**
     * 更新人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description = "更新人")
    private Long updateBy;
    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description = "更新时间")
    private LocalDateTime updateTime;
    /**
     * 删除标识
     */
    @TableLogic
    @TableField(fill = FieldFill.INSERT)
    @Schema(description = "删除标识")
    private String delFlag;
}
